Machine Learning - Assignment 1
Author: Benjamin Brodwolf (benjamin.brodwolf@students.fhnw.ch)
Task 1
"Load and visualize the dataset house_data.csv."
options = delimitedTextImportOptions("Delimiter",{'"',','},"ConsecutiveDelimitersRule","join", "DataLines",2, "NumVariables",21, "ExtraColumnsRule","ignore", "LeadingDelimitersRule","ignore", "VariableNamesLine",1);
options = setvartype(options,2,"datetime");
options = setvartype(options,[1,3:8,13:21],'double');
options = setvartype(options,[11,12,15,16,17],"categorical");
options = setvartype(options,[9,10],"logical");
options = setvaropts(options,2,"InputFormat",'yyyyMMdd''T''HHmmss',"DatetimeFormat",'d MMM yyyy');
data = readtable("house_data.csv",options)
data = 21613×21 table
| | id | date | price | bedrooms | bathrooms | sqft_living | sqft_lot | floors | waterfront | view | condition | grade | sqft_above | sqft_basement | yr_built | yr_renovated | zipcode | lat | long | sqft_living15 | sqft_lot15 |
|---|
| 1 | 7.1293e+09 | 13 Oct 2014 | 221900 | 3 | 1.0000 | 1180 | 5650 | 1 | 0 | 0 | 3 | 7 | 1180 | 0 | 1955 | 0 | 98178 | 47.5112 | -122.2570 | 1340 | 5650 |
|---|
| 2 | 6.4141e+09 | 9 Dec 2014 | 538000 | 3 | 2.2500 | 2570 | 7242 | 2 | 0 | 0 | 3 | 7 | 2170 | 400 | 1951 | 1991 | 98125 | 47.7210 | -122.3190 | 1690 | 7639 |
|---|
| 3 | 5.6315e+09 | 25 Feb 2015 | 180000 | 2 | 1.0000 | 770 | 10000 | 1 | 0 | 0 | 3 | 6 | 770 | 0 | 1933 | 0 | 98028 | 47.7379 | -122.2330 | 2720 | 8062 |
|---|
| 4 | 2.4872e+09 | 9 Dec 2014 | 604000 | 4 | 3.0000 | 1960 | 5000 | 1 | 0 | 0 | 5 | 7 | 1050 | 910 | 1965 | 0 | 98136 | 47.5208 | -122.3930 | 1360 | 5000 |
|---|
| 5 | 1.9544e+09 | 18 Feb 2015 | 510000 | 3 | 2.0000 | 1680 | 8080 | 1 | 0 | 0 | 3 | 8 | 1680 | 0 | 1987 | 0 | 98074 | 47.6168 | -122.0450 | 1800 | 7503 |
|---|
| 6 | 7.2376e+09 | 12 May 2014 | 1225000 | 4 | 4.5000 | 5420 | 101930 | 1 | 0 | 0 | 3 | 11 | 3890 | 1530 | 2001 | 0 | 98053 | 47.6561 | -122.0050 | 4760 | 101930 |
|---|
| 7 | 1.3214e+09 | 27 Jun 2014 | 257500 | 3 | 2.2500 | 1715 | 6819 | 2 | 0 | 0 | 3 | 7 | 1715 | 0 | 1995 | 0 | 98003 | 47.3097 | -122.3270 | 2238 | 6819 |
|---|
| 8 | 2.0080e+09 | 15 Jan 2015 | 291850 | 3 | 1.5000 | 1060 | 9711 | 1 | 0 | 0 | 3 | 7 | 1060 | 0 | 1963 | 0 | 98198 | 47.4095 | -122.3150 | 1650 | 9711 |
|---|
| 9 | 2.4146e+09 | 15 Apr 2015 | 229500 | 3 | 1.0000 | 1780 | 7470 | 1 | 0 | 0 | 3 | 7 | 1050 | 730 | 1960 | 0 | 98146 | 47.5123 | -122.3370 | 1780 | 8113 |
|---|
| 10 | 3.7935e+09 | 12 Mar 2015 | 323000 | 3 | 2.5000 | 1890 | 6560 | 2 | 0 | 0 | 3 | 7 | 1890 | 0 | 2003 | 0 | 98038 | 47.3684 | -122.0310 | 2390 | 7570 |
|---|
| 11 | 1.7368e+09 | 3 Apr 2015 | 662500 | 3 | 2.5000 | 3560 | 9796 | 1 | 0 | 0 | 3 | 8 | 1860 | 1700 | 1965 | 0 | 98007 | 47.6007 | -122.1450 | 2210 | 8925 |
|---|
| 12 | 9.2129e+09 | 27 May 2014 | 468000 | 2 | 1.0000 | 1160 | 6000 | 1 | 0 | 0 | 4 | 7 | 860 | 300 | 1942 | 0 | 98115 | 47.6900 | -122.2920 | 1330 | 6000 |
|---|
| 13 | 114101516 | 28 May 2014 | 310000 | 3 | 1.0000 | 1430 | 19901 | 1.5000 | 0 | 0 | 4 | 7 | 1430 | 0 | 1927 | 0 | 98028 | 47.7558 | -122.2290 | 1780 | 12697 |
|---|
| 14 | 6.0547e+09 | 7 Oct 2014 | 400000 | 3 | 1.7500 | 1370 | 9680 | 1.0000 | 0 | 0 | 4 | 7 | 1370 | 0 | 1977 | 0 | 98074 | 47.6127 | -122.0450 | 1370 | 10208 |
|---|
| 15 | 1.1750e+09 | 12 Mar 2015 | 530000 | 5 | 2.0000 | 1810 | 4850 | 1.5000 | 0 | 0 | 3 | 7 | 1810 | 0 | 1900 | 0 | 98107 | 47.6700 | -122.3940 | 1360 | 4850 |
|---|
| 16 | 9.2973e+09 | 24 Jan 2015 | 650000 | 4 | 3.0000 | 2950 | 5000 | 2.0000 | 0 | 0 | 3 | 9 | 1980 | 970 | 1979 | 0 | 98126 | 47.5714 | -122.3750 | 2140 | 4000 |
|---|
| 17 | 1.8755e+09 | 31 Jul 2014 | 395000 | 3 | 2.0000 | 1890 | 14040 | 2.0000 | 0 | 0 | 3 | 7 | 1890 | 0 | 1994 | 0 | 98019 | 47.7277 | -121.9620 | 1890 | 14018 |
|---|
| 18 | 6.8652e+09 | 29 May 2014 | 485000 | 4 | 1.0000 | 1600 | 4300 | 1.5000 | 0 | 0 | 4 | 7 | 1600 | 0 | 1916 | 0 | 98103 | 47.6648 | -122.3430 | 1610 | 4300 |
|---|
| 19 | 16000397 | 5 Dec 2014 | 189000 | 2 | 1.0000 | 1200 | 9850 | 1.0000 | 0 | 0 | 4 | 7 | 1200 | 0 | 1921 | 0 | 98002 | 47.3089 | -122.2100 | 1060 | 5095 |
|---|
| 20 | 7.9832e+09 | 24 Apr 2015 | 230000 | 3 | 1.0000 | 1250 | 9774 | 1.0000 | 0 | 0 | 4 | 7 | 1250 | 0 | 1969 | 0 | 98003 | 47.3343 | -122.3060 | 1280 | 8850 |
|---|
| 21 | 6.3005e+09 | 14 May 2014 | 385000 | 4 | 1.7500 | 1620 | 4980 | 1.0000 | 0 | 0 | 4 | 7 | 860 | 760 | 1947 | 0 | 98133 | 47.7025 | -122.3410 | 1400 | 4980 |
|---|
| 22 | 2.5240e+09 | 26 Aug 2014 | 2000000 | 3 | 2.7500 | 3050 | 44867 | 1.0000 | 0 | 0 | 3 | 9 | 2330 | 720 | 1968 | 0 | 98040 | 47.5316 | -122.2330 | 4110 | 20336 |
|---|
| 23 | 7.1380e+09 | 3 Jul 2014 | 285000 | 5 | 2.5000 | 2270 | 6300 | 2.0000 | 0 | 0 | 3 | 8 | 2270 | 0 | 1995 | 0 | 98092 | 47.3266 | -122.1690 | 2240 | 7005 |
|---|
| 24 | 8.0914e+09 | 16 May 2014 | 252700 | 2 | 1.5000 | 1070 | 9643 | 1.0000 | 0 | 0 | 3 | 7 | 1070 | 0 | 1985 | 0 | 98030 | 47.3533 | -122.1660 | 1220 | 8386 |
|---|
| 25 | 3.8147e+09 | 20 Nov 2014 | 329000 | 3 | 2.2500 | 2450 | 6500 | 2.0000 | 0 | 0 | 4 | 8 | 2450 | 0 | 1985 | 0 | 98030 | 47.3739 | -122.1720 | 2200 | 6865 |
|---|
| 26 | 1.2020e+09 | 3 Nov 2014 | 233000 | 3 | 2.0000 | 1710 | 4697 | 1.5000 | 0 | 0 | 5 | 6 | 1710 | 0 | 1941 | 0 | 98002 | 47.3048 | -122.2180 | 1030 | 4705 |
|---|
| 27 | 1.7945e+09 | 26 Jun 2014 | 937000 | 3 | 1.7500 | 2450 | 2691 | 2.0000 | 0 | 0 | 3 | 8 | 1750 | 700 | 1915 | 0 | 98119 | 47.6386 | -122.3600 | 1760 | 3573 |
|---|
| 28 | 3.3037e+09 | 1 Dec 2014 | 667000 | 3 | 1.0000 | 1400 | 1581 | 1.5000 | 0 | 0 | 5 | 8 | 1400 | 0 | 1909 | 0 | 98112 | 47.6221 | -122.3140 | 1860 | 3861 |
|---|
| 29 | 5.1014e+09 | 24 Jun 2014 | 438000 | 3 | 1.7500 | 1520 | 6380 | 1.0000 | 0 | 0 | 3 | 7 | 790 | 730 | 1948 | 0 | 98115 | 47.6950 | -122.3040 | 1520 | 6235 |
|---|
| 30 | 1.8731e+09 | 2 Mar 2015 | 719000 | 4 | 2.5000 | 2570 | 7173 | 2.0000 | 0 | 0 | 3 | 8 | 2570 | 0 | 2005 | 0 | 98052 | 47.7073 | -122.1100 | 2630 | 6026 |
|---|
| 31 | 8.5628e+09 | 10 Nov 2014 | 580500 | 3 | 2.5000 | 2320 | 3980 | 2.0000 | 0 | 0 | 3 | 8 | 2320 | 0 | 2003 | 0 | 98027 | 47.5391 | -122.0700 | 2580 | 3980 |
|---|
| 32 | 2.4260e+09 | 1 Dec 2014 | 280000 | 2 | 1.5000 | 1190 | 1265 | 3.0000 | 0 | 0 | 3 | 7 | 1190 | 0 | 2005 | 0 | 98133 | 47.7274 | -122.3570 | 1390 | 1756 |
|---|
| 33 | 461000390 | 24 Jun 2014 | 687500 | 4 | 1.7500 | 2330 | 5000 | 1.5000 | 0 | 0 | 4 | 7 | 1510 | 820 | 1929 | 0 | 98117 | 47.6823 | -122.3680 | 1460 | 5000 |
|---|
| 34 | 7.5892e+09 | 10 Nov 2014 | 535000 | 3 | 1.0000 | 1090 | 3000 | 1.5000 | 0 | 0 | 4 | 8 | 1090 | 0 | 1929 | 0 | 98117 | 47.6889 | -122.3750 | 1570 | 5080 |
|---|
| 35 | 7.9551e+09 | 3 Dec 2014 | 322500 | 4 | 2.7500 | 2060 | 6659 | 1.0000 | 0 | 0 | 3 | 7 | 1280 | 780 | 1981 | 0 | 98058 | 47.4276 | -122.1570 | 2020 | 8720 |
|---|
| 36 | 9.5472e+09 | 13 Jun 2014 | 696000 | 3 | 2.5000 | 2300 | 3060 | 1.5000 | 0 | 0 | 3 | 8 | 1510 | 790 | 1930 | 2002 | 98115 | 47.6827 | -122.3100 | 1590 | 3264 |
|---|
| 37 | 9.4353e+09 | 28 May 2014 | 550000 | 4 | 1.0000 | 1660 | 34848 | 1.0000 | 0 | 0 | 1 | 5 | 930 | 730 | 1933 | 0 | 98052 | 47.6621 | -122.1320 | 2160 | 11467 |
|---|
| 38 | 2.7680e+09 | 30 Dec 2014 | 640000 | 4 | 2.0000 | 2360 | 6000 | 2.0000 | 0 | 0 | 4 | 8 | 2360 | 0 | 1904 | 0 | 98107 | 47.6702 | -122.3620 | 1730 | 4700 |
|---|
| 39 | 7.8955e+09 | 13 Feb 2015 | 240000 | 4 | 1.0000 | 1220 | 8075 | 1.0000 | 0 | 0 | 2 | 7 | 890 | 330 | 1969 | 0 | 98001 | 47.3341 | -122.2820 | 1290 | 7800 |
|---|
| 40 | 2.0785e+09 | 20 Jun 2014 | 605000 | 4 | 2.5000 | 2620 | 7553 | 2.0000 | 0 | 0 | 3 | 8 | 2620 | 0 | 1996 | 0 | 98056 | 47.5301 | -122.1800 | 2620 | 11884 |
|---|
| 41 | 5.5477e+09 | 15 Jul 2014 | 625000 | 4 | 2.5000 | 2570 | 5520 | 2.0000 | 0 | 0 | 3 | 9 | 2570 | 0 | 2000 | 0 | 98074 | 47.6145 | -122.0270 | 2470 | 5669 |
|---|
| 42 | 7.7662e+09 | 11 Aug 2014 | 775000 | 4 | 2.2500 | 4220 | 24186 | 1.0000 | 0 | 0 | 3 | 8 | 2600 | 1620 | 1984 | 0 | 98166 | 47.4450 | -122.3470 | 2410 | 30617 |
|---|
| 43 | 7.2032e+09 | 7 Jul 2014 | 861990 | 5 | 2.7500 | 3595 | 5639 | 2.0000 | 0 | 0 | 3 | 9 | 3595 | 0 | 2014 | 0 | 98053 | 47.6848 | -122.0160 | 3625 | 5639 |
|---|
| 44 | 9.2702e+09 | 28 Oct 2014 | 685000 | 3 | 1.0000 | 1570 | 2280 | 2.0000 | 0 | 0 | 3 | 7 | 1570 | 0 | 1922 | 0 | 98119 | 47.6413 | -122.3640 | 1580 | 2640 |
|---|
| 45 | 1.4327e+09 | 29 Jul 2014 | 309000 | 3 | 1.0000 | 1280 | 9656 | 1.0000 | 0 | 0 | 4 | 6 | 920 | 360 | 1959 | 0 | 98058 | 47.4485 | -122.1750 | 1340 | 8808 |
|---|
| 46 | 8.0354e+09 | 18 Jul 2014 | 488000 | 3 | 2.5000 | 3160 | 13603 | 2.0000 | 0 | 0 | 3 | 8 | 3160 | 0 | 2003 | 0 | 98019 | 47.7443 | -121.9770 | 3050 | 9232 |
|---|
| 47 | 8.9452e+09 | 25 Mar 2015 | 210490 | 3 | 1.0000 | 990 | 8528 | 1.0000 | 0 | 0 | 3 | 6 | 990 | 0 | 1966 | 0 | 98023 | 47.3066 | -122.3710 | 1228 | 8840 |
|---|
| 48 | 4.1783e+09 | 16 Jul 2014 | 785000 | 4 | 2.5000 | 2290 | 13416 | 2.0000 | 0 | 0 | 4 | 9 | 2290 | 0 | 1981 | 0 | 98007 | 47.6194 | -122.1510 | 2680 | 13685 |
|---|
| 49 | 9.2154e+09 | 28 Apr 2015 | 450000 | 3 | 1.7500 | 1250 | 5963 | 1.0000 | 0 | 0 | 4 | 7 | 1250 | 0 | 1953 | 0 | 98115 | 47.6796 | -122.3010 | 970 | 5100 |
|---|
| 50 | 822039084 | 11 Mar 2015 | 1350000 | 3 | 2.5000 | 2753 | 65005 | 1.0000 | 0 | 0 | 5 | 9 | 2165 | 588 | 1953 | 0 | 98070 | 47.4041 | -122.4510 | 2680 | 72513 |
|---|
| 51 | 5.2456e+09 | 16 Sep 2014 | 228000 | 3 | 1.0000 | 1190 | 9199 | 1.0000 | 0 | 0 | 3 | 7 | 1190 | 0 | 1955 | 0 | 98148 | 47.4258 | -122.3220 | 1190 | 9364 |
|---|
| 52 | 7.2313e+09 | 17 Feb 2015 | 345000 | 5 | 2.5000 | 3150 | 9134 | 1.0000 | 0 | 0 | 4 | 8 | 1640 | 1510 | 1966 | 0 | 98056 | 47.4934 | -122.1890 | 1990 | 9133 |
|---|
| 53 | 7.5185e+09 | 31 Dec 2014 | 600000 | 3 | 1.7500 | 1410 | 4080 | 1.0000 | 0 | 0 | 4 | 7 | 1000 | 410 | 1950 | 0 | 98117 | 47.6808 | -122.3840 | 1410 | 4080 |
|---|
| 54 | 3.6260e+09 | 5 Feb 2015 | 585000 | 2 | 1.7500 | 1980 | 8550 | 1.0000 | 0 | 0 | 3 | 7 | 990 | 990 | 1981 | 0 | 98117 | 47.6989 | -122.3690 | 1480 | 6738 |
|---|
| 55 | 4.2174e+09 | 3 Mar 2015 | 920000 | 5 | 2.2500 | 2730 | 6000 | 1.5000 | 0 | 0 | 3 | 8 | 2130 | 600 | 1927 | 0 | 98105 | 47.6571 | -122.2810 | 2730 | 6000 |
|---|
| 56 | 9.8227e+09 | 12 May 2014 | 885000 | 4 | 2.5000 | 2830 | 5000 | 2.0000 | 0 | 0 | 3 | 9 | 2830 | 0 | 1995 | 0 | 98105 | 47.6597 | -122.2900 | 1950 | 5000 |
|---|
| 57 | 9.4785e+09 | 19 Aug 2014 | 292500 | 4 | 2.5000 | 2250 | 4495 | 2.0000 | 0 | 0 | 3 | 7 | 2250 | 0 | 2008 | 0 | 98042 | 47.3663 | -122.1140 | 2250 | 4500 |
|---|
| 58 | 2.7998e+09 | 7 Apr 2015 | 301000 | 3 | 2.5000 | 2420 | 4750 | 2.0000 | 0 | 0 | 3 | 8 | 2420 | 0 | 2003 | 0 | 98042 | 47.3663 | -122.1220 | 2690 | 4750 |
|---|
| 59 | 7.9228e+09 | 27 Aug 2014 | 951000 | 5 | 3.2500 | 3250 | 14342 | 2.0000 | 0 | 0 | 4 | 8 | 3250 | 0 | 1968 | 0 | 98008 | 47.5880 | -122.1160 | 2960 | 11044 |
|---|
| 60 | 8.0790e+09 | 23 Feb 2015 | 430000 | 4 | 3.0000 | 1850 | 9976 | 2.0000 | 0 | 0 | 3 | 8 | 1850 | 0 | 1991 | 0 | 98059 | 47.5059 | -122.1490 | 2270 | 8542 |
|---|
| 61 | 1.5160e+09 | 10 Dec 2014 | 650000 | 3 | 2.2500 | 2150 | 21235 | 1.0000 | 0 | 0 | 4 | 8 | 1590 | 560 | 1959 | 0 | 98166 | 47.4336 | -122.3390 | 2570 | 18900 |
|---|
| 62 | 9.5582e+09 | 28 Aug 2014 | 289000 | 3 | 1.7500 | 1260 | 8400 | 1.0000 | 0 | 0 | 3 | 7 | 1260 | 0 | 1954 | 0 | 98148 | 47.4366 | -122.3350 | 1290 | 8750 |
|---|
| 63 | 5.0724e+09 | 21 Oct 2014 | 505000 | 3 | 1.7500 | 2519 | 8690 | 2.0000 | 0 | 0 | 5 | 8 | 2519 | 0 | 1973 | 0 | 98166 | 47.4428 | -122.3440 | 2500 | 9500 |
|---|
| 64 | 9.5281e+09 | 7 Dec 2014 | 549000 | 3 | 1.7500 | 1540 | 1044 | 3.0000 | 0 | 0 | 3 | 8 | 1540 | 0 | 2014 | 0 | 98115 | 47.6765 | -122.3200 | 1580 | 3090 |
|---|
| 65 | 1.1890e+09 | 3 Jun 2014 | 425000 | 3 | 2.2500 | 1660 | 6000 | 1.0000 | 0 | 0 | 3 | 7 | 1110 | 550 | 1979 | 0 | 98122 | 47.6113 | -122.2970 | 1440 | 4080 |
|---|
| 66 | 3.2535e+09 | 20 Nov 2014 | 317625 | 3 | 2.7500 | 2770 | 3809 | 1.5000 | 0 | 0 | 5 | 7 | 1770 | 1000 | 1925 | 0 | 98144 | 47.5747 | -122.3040 | 1440 | 4000 |
|---|
| 67 | 3.3941e+09 | 9 Sep 2014 | 975000 | 4 | 2.5000 | 2720 | 11049 | 2.0000 | 0 | 0 | 3 | 10 | 2720 | 0 | 1989 | 0 | 98004 | 47.5815 | -122.1920 | 2750 | 11049 |
|---|
| 68 | 3.7170e+09 | 9 Oct 2014 | 287000 | 4 | 2.5000 | 2240 | 4648 | 2.0000 | 0 | 0 | 3 | 7 | 2240 | 0 | 2005 | 0 | 98001 | 47.3378 | -122.2570 | 2221 | 4557 |
|---|
| 69 | 1.2745e+09 | 25 Aug 2014 | 204000 | 3 | 1.0000 | 1000 | 12070 | 1.0000 | 0 | 0 | 4 | 7 | 1000 | 0 | 1968 | 0 | 98042 | 47.3621 | -122.1100 | 1010 | 12635 |
|---|
| 70 | 1.8020e+09 | 12 Jun 2014 | 1325000 | 5 | 2.2500 | 3200 | 20158 | 1.0000 | 0 | 0 | 3 | 8 | 1600 | 1600 | 1965 | 0 | 98004 | 47.6303 | -122.2150 | 3390 | 20158 |
|---|
| 71 | 1.5251e+09 | 12 Sep 2014 | 1040000 | 5 | 3.2500 | 4770 | 50094 | 1.0000 | 0 | 0 | 4 | 11 | 3070 | 1700 | 1973 | 0 | 98005 | 47.6525 | -122.1600 | 3530 | 38917 |
|---|
| 72 | 1.0490e+09 | 5 Jan 2015 | 325000 | 3 | 2.0000 | 1260 | 5612 | 1.0000 | 0 | 0 | 4 | 7 | 1260 | 0 | 1972 | 0 | 98034 | 47.7362 | -122.1790 | 1640 | 4745 |
|---|
| 73 | 8.8209e+09 | 10 Jun 2014 | 571000 | 4 | 2.0000 | 2750 | 7807 | 1.5000 | 0 | 0 | 5 | 7 | 2250 | 500 | 1916 | 0 | 98125 | 47.7168 | -122.2870 | 1510 | 7807 |
|---|
| 74 | 5.4165e+09 | 10 Jul 2014 | 360000 | 4 | 2.5000 | 2380 | 5000 | 2.0000 | 0 | 0 | 3 | 8 | 2380 | 0 | 2005 | 0 | 98038 | 47.3608 | -122.0360 | 2420 | 5000 |
|---|
| 75 | 3.4441e+09 | 16 Mar 2015 | 349000 | 3 | 1.7500 | 1790 | 50529 | 1.0000 | 0 | 0 | 5 | 7 | 1090 | 700 | 1965 | 0 | 98042 | 47.3511 | -122.0730 | 1940 | 50529 |
|---|
| 76 | 3.2769e+09 | 5 Nov 2014 | 832500 | 4 | 4.0000 | 3430 | 35102 | 2.0000 | 0 | 0 | 4 | 10 | 2390 | 1040 | 1986 | 0 | 98075 | 47.5822 | -121.9870 | 3240 | 35020 |
|---|
| 77 | 4.0368e+09 | 13 Oct 2014 | 380000 | 4 | 1.7500 | 1760 | 7300 | 1.0000 | 0 | 0 | 3 | 7 | 880 | 880 | 1956 | 0 | 98008 | 47.6034 | -122.1250 | 1680 | 7500 |
|---|
| 78 | 2.3916e+09 | 20 Apr 2015 | 480000 | 3 | 1.0000 | 1040 | 5060 | 1.0000 | 0 | 0 | 3 | 7 | 1040 | 0 | 1941 | 0 | 98116 | 47.5636 | -122.3940 | 890 | 5060 |
|---|
| 79 | 6.3000e+09 | 9 Jun 2014 | 410000 | 3 | 1.0000 | 1410 | 5060 | 1.0000 | 0 | 0 | 4 | 7 | 910 | 500 | 1956 | 0 | 98133 | 47.7073 | -122.3400 | 1130 | 5693 |
|---|
| 80 | 1.5310e+09 | 23 Mar 2015 | 720000 | 4 | 2.5000 | 3450 | 39683 | 2.0000 | 0 | 0 | 3 | 10 | 3450 | 0 | 2002 | 0 | 98010 | 47.3420 | -122.0250 | 3350 | 39750 |
|---|
| 81 | 5.1045e+09 | 2 Dec 2014 | 390000 | 3 | 2.5000 | 2350 | 5100 | 2.0000 | 0 | 0 | 3 | 8 | 2350 | 0 | 2003 | 0 | 98038 | 47.3512 | -122.0080 | 2350 | 5363 |
|---|
| 82 | 7.4371e+09 | 22 Dec 2014 | 360000 | 4 | 2.5000 | 1900 | 5889 | 2.0000 | 0 | 0 | 3 | 7 | 1900 | 0 | 1992 | 0 | 98038 | 47.3490 | -122.0310 | 1870 | 6405 |
|---|
| 83 | 9.4184e+09 | 28 Oct 2014 | 355000 | 2 | 1.0000 | 2020 | 6720 | 1.0000 | 0 | 0 | 3 | 7 | 1010 | 1010 | 1948 | 0 | 98118 | 47.5474 | -122.2910 | 1720 | 6720 |
|---|
| 84 | 1.5231e+09 | 28 Jan 2015 | 356000 | 3 | 1.5000 | 1680 | 8712 | 1.0000 | 0 | 0 | 3 | 8 | 1680 | 0 | 1964 | 0 | 98059 | 47.4811 | -122.1490 | 1850 | 8797 |
|---|
| 85 | 1.1330e+09 | 2 Jun 2014 | 315000 | 3 | 1.0000 | 960 | 6634 | 1.0000 | 0 | 0 | 3 | 6 | 960 | 0 | 1952 | 0 | 98125 | 47.7264 | -122.3100 | 1570 | 7203 |
|---|
| 86 | 4.2329e+09 | 14 Nov 2014 | 940000 | 3 | 1.5000 | 2140 | 3600 | 2.0000 | 0 | 0 | 3 | 9 | 1900 | 240 | 1925 | 0 | 98119 | 47.6337 | -122.3650 | 2020 | 4800 |
|---|
| 87 | 2.5990e+09 | 3 Nov 2014 | 305000 | 5 | 2.2500 | 2660 | 8400 | 1.5000 | 0 | 0 | 5 | 7 | 2660 | 0 | 1961 | 0 | 98092 | 47.2909 | -122.1890 | 1590 | 8165 |
|---|
| 88 | 3.3421e+09 | 18 Jun 2014 | 461000 | 3 | 3.2500 | 2770 | 6278 | 2.0000 | 0 | 0 | 3 | 9 | 1980 | 790 | 2006 | 0 | 98056 | 47.5228 | -122.1990 | 1900 | 7349 |
|---|
| 89 | 1.3327e+09 | 19 May 2014 | 215000 | 2 | 2.2500 | 1610 | 2040 | 2.0000 | 0 | 0 | 4 | 7 | 1610 | 0 | 1979 | 0 | 98056 | 47.5180 | -122.1940 | 1950 | 2025 |
|---|
| 90 | 3.8699e+09 | 4 Sep 2014 | 335000 | 2 | 1.7500 | 1030 | 1066 | 2.0000 | 0 | 0 | 3 | 7 | 765 | 265 | 2006 | 0 | 98136 | 47.5394 | -122.3870 | 1030 | 1106 |
|---|
| 91 | 2.7915e+09 | 22 May 2014 | 243500 | 4 | 2.5000 | 1980 | 7403 | 2.0000 | 0 | 0 | 3 | 7 | 1980 | 0 | 1988 | 0 | 98023 | 47.2897 | -122.3720 | 1980 | 7510 |
|---|
| 92 | 5.0363e+09 | 11 Mar 2015 | 1099880 | 5 | 2.7500 | 3520 | 6353 | 2.0000 | 0 | 0 | 4 | 10 | 3520 | 0 | 2001 | 0 | 98199 | 47.6506 | -122.3910 | 2520 | 6250 |
|---|
| 93 | 4.1680e+09 | 26 Feb 2015 | 153000 | 3 | 1.0000 | 1200 | 10500 | 1.0000 | 0 | 0 | 3 | 7 | 1200 | 0 | 1962 | 0 | 98023 | 47.3220 | -122.3510 | 1350 | 10500 |
|---|
| 94 | 6.0215e+09 | 25 Jul 2014 | 430000 | 3 | 1.5000 | 1580 | 5000 | 1.0000 | 0 | 0 | 3 | 8 | 1290 | 290 | 1939 | 0 | 98117 | 47.6870 | -122.3860 | 1570 | 4500 |
|---|
| 95 | 6.0215e+09 | 23 Dec 2014 | 700000 | 3 | 1.5000 | 1580 | 5000 | 1.0000 | 0 | 0 | 3 | 8 | 1290 | 290 | 1939 | 0 | 98117 | 47.6870 | -122.3860 | 1570 | 4500 |
|---|
| 96 | 1.4833e+09 | 8 Sep 2014 | 905000 | 4 | 2.5000 | 3300 | 10250 | 1.0000 | 0 | 0 | 3 | 7 | 2390 | 910 | 1946 | 1991 | 98040 | 47.5873 | -122.2490 | 1950 | 6045 |
|---|
| 97 | 3.4220e+09 | 30 Mar 2015 | 247500 | 3 | 1.7500 | 1960 | 15681 | 1.0000 | 0 | 0 | 3 | 7 | 1960 | 0 | 1967 | 0 | 98032 | 47.3576 | -122.2770 | 1750 | 15616 |
|---|
| 98 | 1.0996e+09 | 12 Sep 2014 | 199000 | 4 | 1.5000 | 1160 | 6400 | 1.0000 | 0 | 0 | 4 | 7 | 1160 | 0 | 1975 | 0 | 98023 | 47.3036 | -122.3780 | 1160 | 6400 |
|---|
| 99 | 722079104 | 11 Jul 2014 | 314000 | 3 | 1.7500 | 1810 | 41800 | 1.0000 | 0 | 0 | 5 | 7 | 1210 | 600 | 1980 | 0 | 98038 | 47.4109 | -121.9580 | 1650 | 135036 |
|---|
| 100 | 7.3382e+09 | 16 May 2014 | 437500 | 3 | 2.5000 | 2320 | 36847 | 2.0000 | 0 | 0 | 3 | 9 | 2320 | 0 | 1992 | 0 | 98045 | 47.4838 | -121.7140 | 2550 | 35065 |
|---|
| ⋮ |
|---|
Task 2
"Estimate ‘price‘ using 'sqft_living‘ as the only variable. Visualize the regression line together with the datapoints. Generate a Tukey-Anscombe-Plot and interpret what it shows."
% loading the prices and sqft_living
prices = table2array( data(:,"price") );
sqft_living = table2array( data(:, "sqft_living"));
% Plot the data sqft_living and prices
plot(sqft_living, prices, 'o', 'MarkerSize', 1);
title({'Task2','Plot Price & Square feet of Living'});
ylabel('House Prices on 10,000s');
xlabel('Living Areas Sq. Ft.');
% Add intercept term to sqliving
sqft_living = [ones(m, 1) sqft_living];
% Estimate the prices with sqft_living
theta = normalEqn(sqft_living, prices);
fprintf('Theta computed from the normal equations:\n%f,\n%f',theta(1),theta(2))
Theta computed from the normal equations:
-43580.743095,
280.623568
hold on; % keep previous plot visible
plot(sqft_living(:,2), sqft_living*theta, 'r-');
legend('Livin area data', 'Linear regression');
prices_pred = sqft_living*theta;
residual = prices - prices_pred;
tukeyAnscombePlot(prices_pred, residual, "2");
Above and under the "Zero Line"
Top: 9724
Bottom: 11889
Std.dev.: 1530.886181
We see different error varieties:
- The points should be evenly distributed around the 'Zero Line'
- The Cone-shape
It can possibly be fixed with the help of a log transformation.
Task 3
"Apply a log-transformation to get the output variable log(‘price‘) and repeat task 2. Additionally, create a histogram of the residuals (number of bins = 100).
Calculate the standard deviation of the residuals and interpret the created plots and values."
% clean loading of the data
prices = table2array( data(:,"price") );
sqft_living = table2array( data(:, "sqft_living"));
prices_log = log(prices);
% Add intercept term to sqliving
sqft_living = [ones(m, 1) sqft_living];
theta_log = normalEqn(sqft_living, prices_log);
prices_log_pred = sqft_living*theta_log;
Plot log(prices) with Square Feets of living with Lineare Regression
hold on; % for new figure
plot(sqft_living(:,2), prices_log, 'o', 'MarkerSize', 1); % Plot the data
title({'Task 3',' Plot log(Prices) & Square feets of living'});
xlabel('Living Areas Sq. Ft. 10,000s');
plot(sqft_living(:,2), sqft_living*theta_log, 'r-')
legend('Livin area data', 'Linear regression')
Plot Tukey Anscomble Plot
residual_log = prices_log - prices_log_pred;
tukeyAnscombePlot(prices_log_pred, residual_log, "3");
Above and under the "Zero Line"
Top: 11114
Bottom: 10499
Std.dev.: 434.870670
The log transformation has fixed the cone shape and the distribution of the data is much better. We can also count the data between the "Zero Line" and see it is more balanced then before.
But the points have still a top high align to the left side.
Create a histogram of the residuals (number of bins = 100).
histogram(residual_log, nbins);
title({'Task 3',' Histogram: log(Residuan) & Number of Bins (100)'})
ylabel('log(Residuen)'); % Set the y-axis label
xlabel('number of bins'); % Set the x-axis label
The histogram shows a skew to the left. It also has smaller outliers to see on the tops.
fprintf("The Standard deviation of the residuals with log('price') is: " + std(residual_log));
The Standard deviation of the residuals with log('price') is: 0.37852
The calculation of the standard deviation from the price with logarithmic is not very bad - but according to the view of the histogram, there could be adjustments and thus make the standard deviation even better or smaller.
Task 4
"Calculate the ‘mean absolute percentage error’ (MAPE) and the ‘median absolute percentage error’ (MdAPE) for the model of task 3. Visualize the distribution of the absolute percentage errors for the models of tasks 2 and 3."
% "Absolute Percentage Error (APE)" of Task 3.
prices_log = log(prices);
LOG_APE = abs( (prices_log-prices_log_pred)./prices_log );
LOG_MAPE = mean( LOG_APE );
fprintf('The MAPE of Task 3 is %f (%4.2f%%) ' , LOG_MAPE, LOG_MAPE*100); % MAPE is 0.023597 -> 2.36%
The MAPE of Task 3 is 0.023597 (2.36%)
LOG_MdAPE = median( LOG_APE );
fprintf('The MdAPE of Task 3 is %f (%4.2f%%) ' , LOG_MdAPE, LOG_MdAPE*100); % MdAPE is 0.020879 -> 2.09%
The MdAPE of Task 3 is 0.020879 (2.09%)
% "Absolute Percentage Error (APE)" of Task 2.
APE = abs( (prices-prices_pred)./prices );
title({'Task 4',' Kernel Distribution of the APE of Task 2 & 3'});
legend('APE with price (Task2)', 'APE with log(price) (Task3)');
ylabel('Density'); % Set the y-axis label
xlabel(' APE '); % Set the x-axis label
You can clearly see that the logarithmic values from Task 3 are much denser than those without from Task 2. So we are going much better with the logarithmic values.
Task 5
"Investigate the spatial distribution of ‘zipcode‘ and ‘price‘ with a scatter plot by marking the geographic location (‘long‘ / ‘lat‘) of each object with a colored dot representing either ‘zipcode‘ or ‘price‘ in a suitable color-table and -scale. Discuss the relationship between the two variables."
prices = table2array( data(:,"price") );
zipcode = double(string(table2array( data(:,"zipcode") )));
long = table2array( data(:,"long") );
lat = table2array( data(:,"lat") );
Scatter plot with 'zipcode':
amount_of_zipcode = num2str(length(unique(zipcode)))
% scale zipcode between 1 to 0 for coloring
min_zipcode = min(zipcode);
max_zipcode = max(zipcode);
color = (zipcode - min_zipcode) ./ (max_zipcode-min_zipcode);
geoscatter(lat, long, zipcode./50000 ,color, 'filled');
cbar = colorbar('Ticks', [0, 1], ...
'TickLabels', { num2str(min(zipcode), '%d') , num2str(max(zipcode), '%d')}, ...
'TickLabelInterpreter', "tex");
ylabel(cbar, ' Zipcode');
title(['Task 5: GeoScatter-Plot of ', amount_of_zipcode ,' Zipcodes']);
The zip codes show how states and cities in the USA have been divided in zones. Here you can see how the 70 zones from Washington to Seattle have been divided. From 98001 (dark blue) to 98199 (yellow) direction to Seattel zipcode numbers was increased.
Conclusion: The zip codes with the highest numbers (range from green to yellow) are closest to the city of Seattle.
Scatter plot with 'price':
% scale prices between 1 to 0 for coloring
color = (prices - min_price) ./ (max_price-min_price);
geoscatter(lat, long, prices./200000 ,color, 'filled');
cbar = colorbar('Ticks', [0, 0.25 0.5, 0.75 1], ...
'TickLabels', { num2str(min(prices), '%d'), num2str(max(prices)*0.25, '%d') , num2str(max(prices)*0.5, '%d') , num2str(max(prices)*0.75, '%d') , num2str(max(prices), '%d')}, ...
'TickLabelInterpreter', "tex");
title({'Task 5',' GeoScatter-Plot of House-Prices'});
The prices of the houses are highest in the center of the city of Seattle and are on the lake. The lighter blue spots are clearly visible. However, you do not see any yellow dots because they are rather rare and lose themselves among the many blue dots.
Scatter plot with 'price' zoomed:
geoscatter(lat, long, prices./200000 ,color, 'filled');
cbar = colorbar('Ticks', [0, 0.25 0.5, 0.75 1], ...
'TickLabels', { num2str(min(prices), '%d'), num2str(max(prices)*0.25, '%d') , num2str(max(prices)*0.5, '%d') , num2str(max(prices)*0.75, '%d') , num2str(max(prices), '%d')}, ...
'TickLabelInterpreter', "tex");
title({'Task 5','GeoScatter-Plot of House-Prices','(Zoomed closer to the expensive areas - Center of Seattle)'});
geolimits([47.551 47.726],[-122.340 -122.054])
Again the same plot as before, just zoomed into the center of Seattle. Now you can see the individual very expensive houses or the yellow dots. You can also see that the houses closest to the water are much more expensive than the others.
Task 6
"Feature Engineering: Find a way to encode the variable ‘zipcode‘ into additional features (e.g. using one-hot-encoding, see example on the below). Estimate log( price ) using the newly created features together with 'sqft_living‘ in a linear regression.
Regenerate a Tukey-Anscombe-Plot and a histogram of the residuals and calculate the values for MAPE and MdAPE and discuss the plots and the values in relation to the previous solutions."
prices = table2array( data(:,"price") );
zipcode = double(string(table2array( data(:,"zipcode") )));
sqft_living = table2array( data(:, "sqft_living"));
prices_log = log(prices);
% create a unique list of zipcodes
uniq_zipcode = unique(zipcode);
% create the "one hot encoding" of zipcodes
[~, loc] = ismember(zipcode, uniq_zipcode);
zipcode_hot_encoding = transpose(full(ind2vec(loc')));
% add and compine [bias | sqft_living ] to the zipcode_hot_encoding
zipcode_hot_encoding = [ones(length(sqft_living), 1), sqft_living, zipcode_hot_encoding];
% create a string-list-zipcode for the table
zipcode_header = strsplit( num2str( uniq_zipcode'));
% creating the zipcode_hot_ecoding_table
zipcode_hot_encoding_table = array2table(zipcode_hot_encoding, 'VariableNames', ["bias", "sqft_living", zipcode_header])
zipcode_hot_encoding_table = 21613×72 table
| | bias | sqft_living | 98001 | 98002 | 98003 | 98004 | 98005 | 98006 | 98007 | 98008 | 98010 | 98011 | 98014 | 98019 | 98022 | 98023 | 98024 | 98027 | 98028 | 98029 | 98030 | 98031 | 98032 | 98033 | 98034 | 98038 | 98039 | 98040 | 98042 | 98045 | 98052 | 98053 | 98055 | 98056 | 98058 | 98059 | 98065 | 98070 | 98072 | 98074 | 98075 | 98077 | 98092 | 98102 | 98103 | 98105 | 98106 | 98107 | 98108 | 98109 | 98112 | 98115 | 98116 | 98117 | 98118 | 98119 | 98122 | 98125 | 98126 | 98133 | 98136 | 98144 | 98146 | 98148 | 98155 | 98166 | 98168 | 98177 | 98178 | 98188 | 98198 | 98199 |
|---|
| 1 | 1 | 1180 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
|---|
| 2 | 1 | 2570 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 3 | 1 | 770 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 4 | 1 | 1960 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 5 | 1 | 1680 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 6 | 1 | 5420 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 7 | 1 | 1715 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 8 | 1 | 1060 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
|---|
| 9 | 1 | 1780 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 10 | 1 | 1890 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 11 | 1 | 3560 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 12 | 1 | 1160 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 13 | 1 | 1430 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 14 | 1 | 1370 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 15 | 1 | 1810 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 16 | 1 | 2950 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 17 | 1 | 1890 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 18 | 1 | 1600 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 19 | 1 | 1200 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 20 | 1 | 1250 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 21 | 1 | 1620 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 22 | 1 | 3050 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 23 | 1 | 2270 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 24 | 1 | 1070 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 25 | 1 | 2450 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 26 | 1 | 1710 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 27 | 1 | 2450 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 28 | 1 | 1400 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 29 | 1 | 1520 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 30 | 1 | 2570 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 31 | 1 | 2320 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 32 | 1 | 1190 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 33 | 1 | 2330 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 34 | 1 | 1090 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 35 | 1 | 2060 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 36 | 1 | 2300 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 37 | 1 | 1660 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 38 | 1 | 2360 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 39 | 1 | 1220 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 40 | 1 | 2620 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 41 | 1 | 2570 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 42 | 1 | 4220 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 43 | 1 | 3595 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 44 | 1 | 1570 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 45 | 1 | 1280 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 46 | 1 | 3160 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 47 | 1 | 990 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 48 | 1 | 2290 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 49 | 1 | 1250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 50 | 1 | 2753 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 51 | 1 | 1190 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 52 | 1 | 3150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 53 | 1 | 1410 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 54 | 1 | 1980 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 55 | 1 | 2730 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 56 | 1 | 2830 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 57 | 1 | 2250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 58 | 1 | 2420 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 59 | 1 | 3250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 60 | 1 | 1850 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 61 | 1 | 2150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 62 | 1 | 1260 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 63 | 1 | 2519 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 64 | 1 | 1540 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 65 | 1 | 1660 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 66 | 1 | 2770 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 67 | 1 | 2720 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 68 | 1 | 2240 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 69 | 1 | 1000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 70 | 1 | 3200 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 71 | 1 | 4770 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 72 | 1 | 1260 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 73 | 1 | 2750 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 74 | 1 | 2380 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 75 | 1 | 1790 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 76 | 1 | 3430 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 77 | 1 | 1760 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 78 | 1 | 1040 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 79 | 1 | 1410 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 80 | 1 | 3450 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 81 | 1 | 2350 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 82 | 1 | 1900 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 83 | 1 | 2020 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 84 | 1 | 1680 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 85 | 1 | 960 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 86 | 1 | 2140 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 87 | 1 | 2660 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 88 | 1 | 2770 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 89 | 1 | 1610 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 90 | 1 | 1030 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 91 | 1 | 1980 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 92 | 1 | 3520 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
|---|
| 93 | 1 | 1200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 94 | 1 | 1580 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 95 | 1 | 1580 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 96 | 1 | 3300 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 97 | 1 | 1960 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 98 | 1 | 1160 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 99 | 1 | 1810 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| 100 | 1 | 2320 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|---|
| ⋮ |
|---|
% estimate the log(price) with the newly created features and sqft_livin
theta_zipcode_price = normalEqn(zipcode_hot_encoding, prices_log);
prices_log_pred = zipcode_hot_encoding*theta_zipcode_price;
residual_log = prices_log - prices_log_pred;
Tukey Anscomble Plot of residuals
tukeyAnscombePlot(prices_log_pred, residual_log, "6");
Above and under the "Zero Line"
Top: 10989
Bottom: 10624
Std.dev.: 258.093975
The scape of the distribution looks definitely better, which is positive good, but the balance of the distribution has changed little to be better.
Histogram of the residuals
histogram(residual_log, nbins);
title({'Task 6',' Histogram: log(Residuan) & Number of Bins ( 100 )'});
xlabel('number of bins');
The histogram also looks great like the Tukey-Anscombe plot, it has also got a cleaner shape. But the histogram is still skewed on the left.
fprintf("The Standard deviation of the residuals is: " + std(residual_log));
The Standard deviation of the residuals is: 0.22166
The standard deviation is better then before (see Task 3).
Calculate the values for MAPE and MdAPE
% "Absolute Percentage Error (APE)" of Task 6.
prices_log = log(prices);
LOG_APE = abs( (prices_log-prices_log_pred)./prices_log );
LOG_MAPE = mean( LOG_APE );
fprintf('MAPE of Task 6 is %f (%4.2f%%) ' , LOG_MAPE, LOG_MAPE*100); % MAPE is 0.012250 -> 1.22%
MAPE of Task 6 is 0.012250 (1.22%)
LOG_MdAPE = median( LOG_APE );
fprintf('MdAPE of Task 6 is %f (%4.2f%%) ' , LOG_MdAPE, LOG_MdAPE*100); % MdAPE is 0.008987 -> 0.90%
MdAPE of Task 6 is 0.008987 (0.90%)
The mean and median relative distance of the true measured values is accordingly 1.22% (MAPE) and 0.90% (MdAPE).
Task 7
Repeat all steps of task 6) using [‘bedrooms‘, ‘bathrooms‘, ‘grade‘, ‘yr_built'] as additional features. Discuss the outcome differences between tasks 6) and 7).
prices = table2array( data(:,"price") );
sqft_living = table2array( data(:, "sqft_living"));
zipcode = double(string(table2array( data(:,"zipcode") )));
bedrooms = double(string(table2array( data(:,"bedrooms") )));
bathrooms = double(string(table2array( data(:,"bathrooms") )));
grade = double(string(table2array( data(:,"grade") )));
yr_built = double(string(table2array( data(:,"yr_built") )));
prices_log = log(prices);
% create the "one hot encoding" of the features
zipcode_ohe = OneHotEncoding(zipcode);
bedrooms_ohe = OneHotEncoding(bedrooms);
bathrooms_ohe = OneHotEncoding(bathrooms);
grade_ohe = OneHotEncoding(grade);
yr_built_ohe = OneHotEncoding(yr_built);
% add and compine [bias | sqft_living ] to the zipcode_hot_encoding
many_features_ohe = [ones(length(prices), 1), sqft_living, zipcode_ohe, bedrooms_ohe, bathrooms_ohe, grade_ohe, yr_built_ohe]
1 1180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 5420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1715 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
% estimate the log(price) with the newly created features and sqft_livin
theta_many_features_price = normalEqn(many_features_ohe, prices_log);
prices_many_features_pred = many_features_ohe*theta_many_features_price;
residual_many_features_log = prices_log - prices_many_features_pred;
Tukey Anscomble Plot of residuals
tukeyAnscombePlot(prices_many_features_pred, residual_many_features_log, "7");
Above and under the "Zero Line"
Top: 10786
Bottom: 10827
Std.dev.: 28.991378
The scattering of the data points is now even broader and still very even. The balance looks great, as the distribution between the zero line now has a much lower value.
Histogram of the residuals
histogram(residual_many_features_log, nbins);
title({'Task 7','Histogram: log(Residuan) & Number of Bins ( 100 )'});
xlabel('number of bins');
The histogram is very well balanced. No left or right skewed anymore.
fprintf("The Standard deviation of the residuals is: " + std(residual_many_features_log));
The Standard deviation of the residuals is: 0.19925
The standard deviation is better then before (see Task 3).
Calculate the values for MAPE and MdAPE
% "Absolute Percentage Error (APE)" of Task 6.
LOG_APE = abs( (prices_log-prices_many_features_pred)./prices_log );
LOG_MAPE = mean( LOG_APE );
fprintf('MAPE of Task 7 is %f (%4.2f%%) ' , LOG_MAPE, LOG_MAPE*100); % MAPE is 0.011048 -> 1.12%
MAPE of Task 7 is 0.011048 (1.10%)
LOG_MdAPE = median( LOG_APE );
fprintf('MdAPE of Task 7 is %f (%4.2f%%) ' , LOG_MdAPE, LOG_MdAPE*100); % MdAPE is 0.008143 -> 0.81%
MdAPE of Task 7 is 0.008143 (0.81%)
The mean and median relative distance of the true measured values is accordingly 1.12% (MAPE) and 0.81% (MdAPE) and a little lower then before (see Task 6).
Task 8
"Recreate the model of task 7) with the normal equation for linear regression and regularize it for a suitable range of the regularization parameter ...."
prices = table2array( data(:,"price") );
sqft_living = table2array( data(:, "sqft_living"));
zipcode = double(string(table2array( data(:,"zipcode") )));
bedrooms = double(string(table2array( data(:,"bedrooms") )));
bathrooms = double(string(table2array( data(:,"bathrooms") )));
grade = double(string(table2array( data(:,"grade") )));
yr_built = double(string(table2array( data(:,"yr_built") )));
% create the "one hot encoding" of the features
zipcode_ohe = OneHotEncoding(zipcode);
bedrooms_ohe = OneHotEncoding(bedrooms);
bathrooms_ohe = OneHotEncoding(bathrooms);
grade_ohe = OneHotEncoding(grade);
yr_built_ohe = OneHotEncoding(yr_built);
% add and compine one-hots-encodings
sqft_living = (sqft_living - min(sqft_living)) ./ (max(sqft_living)- min(sqft_living));
many_features_ohe = [ones(length(prices), 1) sqft_living zipcode_ohe bedrooms_ohe bathrooms_ohe grade_ohe yr_built_ohe]
1.0000 0.0672 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1721 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.0362 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1049 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 0 0 0
1.0000 0.3872 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1075 0 0 1.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.0581 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.0000 0.1208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
many_features_ohe = many_features_ohe(randperm(size(many_features_ohe,1)),:);
% create random a train (80%) and test (20%) set
size_train = round(length(many_features_ohe)*0.8);
size_test = round(length(many_features_ohe)*0.2);
many_features_train = many_features_ohe(1:size_train,:);
many_features_test = many_features_ohe(size_train+1:end,:);
prices_log = log(prices);
prices_log_train = prices_log(1:size_train,:);
prices_log_test = prices_log(size_train+1:end, :);
Selecting lambda using a test set
lambda_vec = [0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 0.2 0.04 0.5 0.6 0.7 0.8 0.9 1 2 3 4 5 6 7 8 9 10 15 20 30 50 70 90 100 150];
thetas_sum = zeros(size(lambda_vec,2),1);
prices_test_pred = zeros(size(many_features_test,1), m);
theta = normalEqnLambda(many_features_train, prices_log_train, lambda);
thetas_sum(i) = sum(theta(2:end) .^ 2); %sum(theta.^2)
prices_test_pred(:,i) = many_features_test*theta;
APE_test = abs( (prices_log_test-prices_test_pred)./prices_log_test );
MAPE_test = mean( APE_test );
MdAPE_test = median( APE_test );
for i = 1:length(lambda_vec)
fprintf('lambda\t\t MAPE test\t MdAPE test\t Theta sum \n');
fprintf('%f\t%f\t%f\t%f\n',lambda_vec(i), MAPE_test(i), MdAPE_test(i), thetas_sum(i));
end
lambda MAPE test MdAPE test Theta sum
0.000000 0.030469 0.025428 27.096320
0.001000 0.030454 0.025428 1.859713
0.002000 0.030454 0.025428 1.857639
0.003000 0.030454 0.025428 1.855571
0.004000 0.030454 0.025428 1.853508
0.005000 0.030454 0.025428 1.851450
0.006000 0.030454 0.025428 1.849398
0.007000 0.030454 0.025428 1.847351
0.008000 0.030454 0.025428 1.845309
0.009000 0.030454 0.025428 1.843273
0.010000 0.030454 0.025428 1.841242
0.200000 0.030452 0.025441 1.533232
0.040000 0.030454 0.025427 1.782708
0.500000 0.030450 0.025438 1.239558
0.600000 0.030449 0.025436 1.171214
0.700000 0.030448 0.025425 1.112507
0.800000 0.030448 0.025423 1.061544
0.900000 0.030447 0.025429 1.016891
1.000000 0.030446 0.025436 0.977444
2.000000 0.030440 0.025447 0.742061
3.000000 0.030436 0.025449 0.630961
4.000000 0.030431 0.025427 0.564219
5.000000 0.030428 0.025400 0.518377
6.000000 0.030424 0.025439 0.484131
7.000000 0.030421 0.025444 0.457058
8.000000 0.030418 0.025438 0.434783
9.000000 0.030415 0.025447 0.415910
10.000000 0.030412 0.025419 0.399559
15.000000 0.030401 0.025412 0.340292
20.000000 0.030392 0.025431 0.300877
30.000000 0.030377 0.025276 0.248189
50.000000 0.030357 0.025207 0.186649
70.000000 0.030341 0.025169 0.149750
90.000000 0.030329 0.025170 0.124541
100.000000 0.030324 0.025150 0.114648
150.000000 0.030306 0.025190 0.080703
[minMAPE, iMAPE] = min(MAPE_test);
fprintf('Lambda value %f give the smallest MAPE value %f', lambda_vec(iMAPE), minMAPE);
Lambda value 150.000000 give the smallest MAPE value 0.030306
I don't know the issue here, why the biggest lambda give the best MAPE ?!? :-/
% calculate the test residual
residual_test = prices_log_test - prices_test_pred;
Tukey Anscomble Plot of the test residuals
tukeyAnscombePlot(prices_test_pred, residual_test, "8");
Above and under the "Zero Line"
Top: 2254
Bottom: 2069
Std.dev.: 130.814755
Histogram of the residuals
histogram(residual_test, nbins);
title({'Task 8','Histogram: log(Residuan) & Number of Bins ( 100 )'});
xlabel('number of bins');
The histogram is almost very well balanced in the random iterations. No much left or right skewed anymore.
fprintf("The Standard deviation of the residuals is: " + std(residual_many_features_log));
The Standard deviation of the residuals is: 0.19925
The standard deviation is better then before (see Task 3).
Task 9
"What would be needed if you wanted to optimize the MAPE as cost function instead of the ‘residual-sum-of-squares’?
Try to derive the corresponding formulas and give a sketch of the resulting algorithm e.g. in pseudo-code."
So I have the APE: 
The I take the Cost-Functione:
, replace it with MAPE = mean (APE